In electronic controls for internal combustion engines, it is known to electronically determine and control timing events associated with the engine ignition system in order to properly ignite air-fuel mixtures supplied to the engine. Typically, an engine control computer is responsive to crankshaft angle, engine coolant temperature, commanded engine fueling, intake air temperature and other engine operating conditions to produce appropriate firing command signals for generating high voltage sparks at a number of spark plugs, thereby resulting in combustion of the air-fuel mixture.
In the operation of a typical internal combustion engine ignition system, the engine control computer determines in a conventional manner an appropriate time to energize the primary side of an ignition coil associated with the engine (hereinafter referred to as a "firing command"). At that time, current begins to flow from a voltage source, such as a vehicle battery through the coil primary, thereby storing energy therein as is known in the art. Eventually, the current flowing through the coil primary reaches a peak level, and the engine control computer is thereafter operable to limit current flow therethrough to some desired level. After some period of current limiting, often referred to as a dwell time, the engine control computer deactivates the firing command, thereby open circuiting the coil primary.
The coil primary is typically magnetically coupled to a coil secondary, and when the primary is open circuited, a rapidly increasing voltage is induced in the coil secondary. The coil secondary is electrically connected to one or more spark plugs, and the rapidly increasing voltage induced therein is used to generate the required spark ignition voltage thereat.
Ignition systems of the type just described are typically constructed as an amalgamation of electrical and mechanical components, some of which are inherently subject to failure. Any of a number of ignition system failure modes are possible, most of which result in a degradation in combustion quality and/or misfiring of the engine. Heretofore, systems have been developed which are operable to distinguish between normal ignition system operation and misfire conditions so that appropriate adjustments can be made in the ignition strategy to thereby minimize subsequent misfire occurrences. One example of such a system is described in U.S. Pat. No. 5,606,118 to Muth et al.
Muth et al. disclose a misfire detection system wherein the primary coil voltage is monitored and compared with predefined threshold values. After a spark igniting voltage peak has occurred, the primary coil voltage waveform is repeatedly sampled. An average voltage as well as a peak voltage are calculated from the samples and a misfire indicating factor is calculated as a ratio thereof. If this ratio exceeds a predefined ratio threshold, then a misfire is indicated.
While the Muth et al. system is operable to distinguish between a normally operating ignition system and a misfire condition, it has several drawbacks associated therewith. For example, while it may effectively detect one or more misfire conditions, the Muth et al. system does not distinguish between any of the various possible ignition system failures. Thus, the Muth et al. system is incapable of providing any information relating to a particular cause of the misfire condition. Moreover, since the Muth et al. system is not operable to determine the cause of the misfire condition, it cannot properly use the misfire information to alter ignition and/or fuel strategies in real time to thereby minimize the effect of a particular cause of the misfire condition.
What is therefore needed is a system for diagnosing and controlling an ignition system of an internal combustion engine, wherein such a system is operable to detect, and distinguish between, a number of possible ignition system failure modes. Such a system should include at least the capability to store information relating to the types and number of occurrences of all ignition system failure modes which have occurred for later analysis, and should ideally be further capable of utilizing the information relating to any presently occurring ignition system failure mode to alter engine fueling, spark timing and/or spark energy during a subsequent firing command to thereby at least minimize the effect of the failure condition on proper engine operation.